<!--
Copyright Louis Dionne 2013-2017
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-->
<!-- boost-no-inspect -->
<!-- HTML header for doxygen 1.8.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<title>Boost.Hana: Class Hierarchy</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
// Copyright Louis Dionne 2013-2017
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
MathJax.Hub.Config({
    "HTML-CSS": {
        linebreaks: {
            automatic: true,
            width: "75% container"
        }
    }
});
</script>
<script type="text/javascript" async="async" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<!-- Additional javascript for drawing charts. -->
<script type="text/javascript" src="highcharts.js"></script>
<script type="text/javascript" src="highcharts-data.js"></script>
<script type="text/javascript" src="highcharts-exporting.js"></script>
<script type="text/javascript" src="chart.js"></script>
<script type="text/javascript" src="hana.js"></script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="Boost.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Boost.Hana
   &#160;<span id="projectnumber">1.7.1</span>
   </div>
   <div id="projectbrief">Your standard library for metaprogramming</div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.svg"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('hierarchy.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Class Hierarchy</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1operators_1_1adl.html" target="_self">boost::hana::detail::operators::adl&lt; tuple&lt; Xn... &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1tuple.html" target="_self">boost::hana::tuple&lt; Xn &gt;</a></td><td class="desc">General purpose index-based heterogeneous sequence with a fixed length </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1operators_1_1adl.html" target="_self">boost::hana::detail::operators::adl&lt; tuple&lt;&gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1operators_1_1adl.html" target="_self">boost::hana::detail::operators::adl&lt;&gt;</a></td><td class="desc"></td></tr>
<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1array.html" target="_self">boost::hana::detail::array&lt; bool, sizeof...(B)&gt;</a></td><td class="desc"></td></tr>
<tr id="row_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1basic__tuple.html" target="_self">boost::hana::basic_tuple&lt; F, Args... &gt;</a></td><td class="desc"></td></tr>
<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1basic__tuple.html" target="_self">boost::hana::basic_tuple&lt; X &gt;</a></td><td class="desc"></td></tr>
<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1basic__tuple.html" target="_self">boost::hana::basic_tuple&lt; Xn... &gt;</a></td><td class="desc"></td></tr>
<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1fusion_1_1deque.html" target="_self">boost::fusion::deque&lt; T &gt;</a></td><td class="desc">Adapter for Boost.Fusion deques </td></tr>
<tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1fusion_1_1list.html" target="_self">boost::fusion::list&lt; T &gt;</a></td><td class="desc">Adapter for Boost.Fusion lists </td></tr>
<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1fusion_1_1tuple.html" target="_self">boost::fusion::tuple&lt; T &gt;</a></td><td class="desc">Adapter for Boost.Fusion tuples </td></tr>
<tr id="row_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1fusion_1_1vector.html" target="_self">boost::fusion::vector&lt; T &gt;</a></td><td class="desc">Adapter for Boost.Fusion vectors </td></tr>
<tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1basic__tuple.html" target="_self">boost::hana::basic_tuple&lt; Xs &gt;</a></td><td class="desc">Stripped down version of <code><a class="el" href="structboost_1_1hana_1_1tuple.html" title="General purpose index-based heterogeneous sequence with a fixed length.">hana::tuple</a></code> </td></tr>
<tr id="row_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1basic__tuple__tag.html" target="_self">boost::hana::basic_tuple_tag</a></td><td class="desc">Tag representing <code><a class="el" href="structboost_1_1hana_1_1basic__tuple.html" title="Stripped down version of hana::tuple.">hana::basic_tuple</a></code> </td></tr>
<tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1basic__type.html" target="_self">boost::hana::basic_type&lt; T &gt;</a></td><td class="desc">Base class of <code><a class="el" href="structboost_1_1hana_1_1type.html" title="C++ type in value-level representation.">hana::type</a></code>; used for pattern-matching </td></tr>
<tr id="row_14_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1common.html" target="_self">boost::hana::common&lt; T, U, enabler &gt;</a></td><td class="desc">Metafunction returning the common data type between two data types </td></tr>
<tr id="row_15_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1constant__detail_1_1which.html" target="_self">boost::hana::constant_detail::which&lt; A, B, C &gt;</a></td><td class="desc"></td></tr>
<tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1default__.html" target="_self">boost::hana::default_</a></td><td class="desc">Mark a tag-dispatched method implementation as a default implementation </td></tr>
<tr id="row_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1any__of.html" target="_self">boost::hana::detail::any_of&lt; Predicate, T &gt;</a></td><td class="desc">Returns whether the <code>Predicate</code> is satisfied by any of the <code>T...</code> </td></tr>
<tr id="row_18_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1array.html" target="_self">boost::hana::detail::array&lt; T, Size &gt;</a></td><td class="desc">A minimal <code><a class="el" href="structstd_1_1array.html" title="Adaptation of std::array for Hana.">std::array</a></code> with better <code>constexpr</code> support </td></tr>
<tr id="row_19_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1_canonical_constant.html" target="_self">boost::hana::detail::CanonicalConstant&lt; T &gt;</a></td><td class="desc">Tag representing a canonical <code>Constant</code> </td></tr>
<tr id="row_20_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1create.html" target="_self">boost::hana::detail::create&lt; T &gt;</a></td><td class="desc">Implementation of the generic <code>std::make_xxx</code> pattern for arbitrary <code>xxx</code>s </td></tr>
<tr id="row_21_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1decay.html" target="_self">boost::hana::detail::decay&lt; T, U &gt;</a></td><td class="desc">Equivalent to <code>std::decay</code>, except faster </td></tr>
<tr id="row_22_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1first__unsatisfied__index.html" target="_self">boost::hana::detail::first_unsatisfied_index&lt; Pred &gt;</a></td><td class="desc">Returns the index of the first element which does not satisfy <code>Pred</code>, or <code>sizeof...(Xs)</code> if no such element exists </td></tr>
<tr id="row_23_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1has__duplicates.html" target="_self">boost::hana::detail::has_duplicates&lt; T &gt;</a></td><td class="desc">Returns whether any of the <code>T</code>s are duplicate w.r.t. <code><a class="el" href="group__group-_comparable.html#gacaf1ebea6b3ab96ac9dcb82f0e64e547" title="Returns a Logical representing whether x is equal to y.">hana::equal</a></code> </td></tr>
<tr id="row_24_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1nested__by.html" target="_self">boost::hana::detail::nested_by&lt; Algorithm &gt;</a></td><td class="desc">Provides a <code>.by</code> static constexpr function object </td></tr>
<tr id="row_25_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1nested__than.html" target="_self">boost::hana::detail::nested_than&lt; Algorithm &gt;</a></td><td class="desc">Provides a <code>.than</code> static constexpr function object </td></tr>
<tr id="row_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1nested__to.html" target="_self">boost::hana::detail::nested_to&lt; Algorithm &gt;</a></td><td class="desc">Provides a <code>.to</code> static constexpr function object </td></tr>
<tr id="row_27_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1operators_1_1adl.html" target="_self">boost::hana::detail::operators::adl&lt;... &gt;</a></td><td class="desc">Enables <a href="http://en.cppreference.com/w/cpp/language/adl">ADL</a> in the <code>hana::detail::operators</code> namespace </td></tr>
<tr id="row_28_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1std__common__type.html" target="_self">boost::hana::detail::std_common_type&lt; T, U, typename &gt;</a></td><td class="desc">Equivalent to <code>std::common_type</code>, except it is SFINAE-friendly and does not support custom specializations </td></tr>
<tr id="row_29_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1type__at.html" target="_self">boost::hana::detail::type_at&lt; n, T &gt;</a></td><td class="desc">Classic MPL-style metafunction returning the nth element of a type parameter pack </td></tr>
<tr id="row_30_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1detail_1_1wrong.html" target="_self">boost::hana::detail::wrong&lt;... &gt;</a></td><td class="desc">Equivalent to a type-dependent <code>std::false_type</code> </td></tr>
<tr id="row_31_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1embedding.html" target="_self">boost::hana::embedding&lt; bool &gt;</a></td><td class="desc">Marks a conversion between data types as being an embedding </td></tr>
<tr id="row_32_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1experimental_1_1types.html" target="_self">boost::hana::experimental::types&lt; T &gt;</a></td><td class="desc">Container optimized for holding types </td></tr>
<tr id="row_33_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1has__common.html" target="_self">boost::hana::has_common&lt; T, U, typename &gt;</a></td><td class="desc">Metafunction returning whether two data types share a common data type </td></tr>
<tr id="row_34_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; T, v &gt;</a></td><td class="desc">Compile-time value of an integral type </td></tr>
<tr id="row_35_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant__tag.html" target="_self">boost::hana::integral_constant_tag&lt; T &gt;</a></td><td class="desc">Tag representing <code><a class="el" href="structboost_1_1hana_1_1integral__constant.html" title="Compile-time value of an integral type.">hana::integral_constant</a></code> </td></tr>
<tr id="row_36_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1_integral_constant.html" target="_self">boost::hana::IntegralConstant&lt; C &gt;</a></td><td class="desc">The <code><a class="el" href="structboost_1_1hana_1_1_integral_constant.html" title="The IntegralConstant concept represents compile-time integral values.">IntegralConstant</a></code> concept represents compile-time integral values </td></tr>
<tr id="row_37_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1is__convertible.html" target="_self">boost::hana::is_convertible&lt; From, To, typename &gt;</a></td><td class="desc">Returns whether there is a Hana-conversion from a data type to another </td></tr>
<tr id="row_38_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1is__default.html" target="_self">boost::hana::is_default&lt; Method, typename &gt;</a></td><td class="desc">Returns whether a tag-dispatched method implementation is a default implementation </td></tr>
<tr id="row_39_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1is__embedded.html" target="_self">boost::hana::is_embedded&lt; From, To, typename &gt;</a></td><td class="desc">Returns whether a data type can be embedded into another data type </td></tr>
<tr id="row_40_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1lazy.html" target="_self">boost::hana::lazy&lt; implementation_defined &gt;</a></td><td class="desc"><code><a class="el" href="structboost_1_1hana_1_1lazy.html" title="hana::lazy implements superficial laziness via a monadic interface.">hana::lazy</a></code> implements superficial laziness via a monadic interface </td></tr>
<tr id="row_41_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1lazy__tag.html" target="_self">boost::hana::lazy_tag</a></td><td class="desc">Tag representing <code><a class="el" href="structboost_1_1hana_1_1lazy.html" title="hana::lazy implements superficial laziness via a monadic interface.">hana::lazy</a></code> </td></tr>
<tr id="row_42_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1map.html" target="_self">boost::hana::map&lt; Pairs &gt;</a></td><td class="desc">Basic associative container requiring unique, <code>Comparable</code> and <code>Hashable</code> keys </td></tr>
<tr id="row_43_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1map__tag.html" target="_self">boost::hana::map_tag</a></td><td class="desc">Tag representing <code><a class="el" href="structboost_1_1hana_1_1map.html" title="Basic associative container requiring unique, Comparable and Hashable keys.">hana::map</a></code>s </td></tr>
<tr id="row_44_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1optional.html" target="_self">boost::hana::optional&lt; T &gt;</a></td><td class="desc">Optional value whose optional-ness is known at compile-time </td></tr>
<tr id="row_45_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1optional__tag.html" target="_self">boost::hana::optional_tag</a></td><td class="desc">Tag representing a <code><a class="el" href="structboost_1_1hana_1_1optional.html" title="Optional value whose optional-ness is known at compile-time.">hana::optional</a></code> </td></tr>
<tr id="row_46_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1pair.html" target="_self">boost::hana::pair&lt; First, Second &gt;</a></td><td class="desc">Generic container for two elements </td></tr>
<tr id="row_47_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1pair__tag.html" target="_self">boost::hana::pair_tag</a></td><td class="desc">Tag representing <code><a class="el" href="structboost_1_1hana_1_1pair.html" title="Generic container for two elements.">hana::pair</a></code> </td></tr>
<tr id="row_48_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1range.html" target="_self">boost::hana::range&lt; T, from, to &gt;</a></td><td class="desc">Compile-time half-open interval of <code><a class="el" href="structboost_1_1hana_1_1integral__constant.html" title="Compile-time value of an integral type.">hana::integral_constant</a></code>s </td></tr>
<tr id="row_49_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1range__tag.html" target="_self">boost::hana::range_tag</a></td><td class="desc">Tag representing a <code><a class="el" href="structboost_1_1hana_1_1range.html" title="Compile-time half-open interval of hana::integral_constants.">hana::range</a></code> </td></tr>
<tr id="row_50_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1set.html" target="_self">boost::hana::set&lt; implementation_defined &gt;</a></td><td class="desc">Basic unordered container requiring unique, <code>Comparable</code> and <code>Hashable</code> keys </td></tr>
<tr id="row_51_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1set__tag.html" target="_self">boost::hana::set_tag</a></td><td class="desc">Tag representing the <code><a class="el" href="structboost_1_1hana_1_1set.html" title="Basic unordered container requiring unique, Comparable and Hashable keys.">hana::set</a></code> container </td></tr>
<tr id="row_52_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1string.html" target="_self">boost::hana::string&lt; implementation_defined &gt;</a></td><td class="desc">Compile-time string </td></tr>
<tr id="row_53_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1string__tag.html" target="_self">boost::hana::string_tag</a></td><td class="desc">Tag representing a compile-time string </td></tr>
<tr id="row_54_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1tag__of.html" target="_self">boost::hana::tag_of&lt; T, enabler &gt;</a></td><td class="desc">Metafunction returning the tag associated to <code>T</code> </td></tr>
<tr id="row_55_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1tuple__tag.html" target="_self">boost::hana::tuple_tag</a></td><td class="desc">Tag representing <code><a class="el" href="structboost_1_1hana_1_1tuple.html" title="General purpose index-based heterogeneous sequence with a fixed length.">hana::tuple</a></code>s </td></tr>
<tr id="row_56_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1type.html" target="_self">boost::hana::type&lt; T &gt;</a></td><td class="desc">C++ type in value-level representation </td></tr>
<tr id="row_57_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1type__tag.html" target="_self">boost::hana::type_tag</a></td><td class="desc">Tag representing <code><a class="el" href="structboost_1_1hana_1_1type.html" title="C++ type in value-level representation.">hana::type</a></code> </td></tr>
<tr id="row_58_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1when.html" target="_self">boost::hana::when&lt; condition &gt;</a></td><td class="desc">Enable a partial specialization only if a boolean condition is true </td></tr>
<tr id="row_59_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1mpl_1_1integral__c.html" target="_self">boost::mpl::integral_c&lt; T, v &gt;</a></td><td class="desc">Adapter for IntegralConstants from the Boost.MPL </td></tr>
<tr id="row_60_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1mpl_1_1list.html" target="_self">boost::mpl::list&lt; T &gt;</a></td><td class="desc">Adapter for Boost.MPL lists </td></tr>
<tr id="row_61_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1mpl_1_1vector.html" target="_self">boost::mpl::vector&lt; T &gt;</a></td><td class="desc">Adapter for Boost.MPL vectors </td></tr>
<tr id="row_62_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1tuple.html" target="_self">boost::tuple&lt; T &gt;</a></td><td class="desc">Adapter for <code><a class="el" href="structboost_1_1tuple.html" title="Adapter for boost::tuples.">boost::tuple</a></code>s </td></tr>
<tr id="row_63_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1embedding.html" target="_self">boost::hana::embedding&lt; is_embedded&lt; C::value_type, T &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_64_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1embedding.html" target="_self">boost::hana::embedding&lt; is_embedded&lt; From::value_type, To &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_65_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1embedding.html" target="_self">boost::hana::embedding&lt; Sequence&lt; F &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_66_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; accessors_impl&lt; tag_of&lt; S &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_67_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; any_of_impl&lt; tag_of&lt; S &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; find_if_impl&lt; tag_of&lt; S &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_68_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; ap_impl&lt; tag_of&lt; A &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; lift_impl&lt; tag_of&lt; A &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_69_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; at_impl&lt; tag_of&lt; It &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; drop_front_impl&lt; tag_of&lt; It &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; is_empty_impl&lt; tag_of&lt; It &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_70_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; concat_impl&lt; tag_of&lt; M &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; empty_impl&lt; tag_of&lt; M &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_71_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; equal_impl&lt; tag_of&lt; T &gt;::type, tag_of&lt; T &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_72_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; eval_if_impl&lt; tag_of&lt; L &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; not_impl&lt; tag_of&lt; L &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; while_impl&lt; tag_of&lt; L &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_73_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; extract_impl&lt; tag_of&lt; W &gt;::type &gt; &gt;::value &amp;&amp;(!is_default&lt; duplicate_impl&lt; tag_of&lt; W &gt;::type &gt; &gt;::value||!is_default&lt; extend_impl&lt; tag_of&lt; W &gt;::type &gt; &gt;::value) &gt;</a></td><td class="desc"></td></tr>
<tr id="row_74_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; first_impl&lt; tag_of&lt; P &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; second_impl&lt; tag_of&lt; P &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_75_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; flatten_impl&lt; tag_of&lt; M &gt;::type &gt; &gt;::value||!is_default&lt; chain_impl&lt; tag_of&lt; M &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_76_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; fold_left_impl&lt; tag_of&lt; T &gt;::type &gt; &gt;::value||!is_default&lt; unpack_impl&lt; tag_of&lt; T &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_77_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; hash_impl&lt; tag_of&lt; T &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_78_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; less_impl&lt; tag_of&lt; Ord &gt;::type, tag_of&lt; Ord &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_79_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; mod_impl&lt; tag_of&lt; R &gt;::type, tag_of&lt; R &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; div_impl&lt; tag_of&lt; R &gt;::type, tag_of&lt; R &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_80_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; negate_impl&lt; tag_of&lt; G &gt;::type &gt; &gt;::value||!is_default&lt; minus_impl&lt; tag_of&lt; G &gt;::type, tag_of&lt; G &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_81_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; one_impl&lt; tag_of&lt; R &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; mult_impl&lt; tag_of&lt; R &gt;::type, tag_of&lt; R &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_82_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; transform_impl&lt; tag_of&lt; F &gt;::type &gt; &gt;::value||!is_default&lt; adjust_if_impl&lt; tag_of&lt; F &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_83_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; value_impl&lt; tag_of&lt; C &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_84_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, !is_default&lt; zero_impl&lt; tag_of&lt; M &gt;::type &gt; &gt;::value &amp;&amp;!is_default&lt; plus_impl&lt; tag_of&lt; M &gt;::type, tag_of&lt; M &gt;::type &gt; &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_85_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, false &gt;</a></td><td class="desc"></td></tr>
<tr id="row_86_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, hana::IntegralConstant&lt; typename tag_of&lt; C &gt;::type &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_87_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, hana::Sequence&lt; typename hana::tag_of&lt; S &gt;::type &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_88_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, Metafunction&lt; typename tag_of&lt; F &gt;::type &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_89_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1integral__constant.html" target="_self">boost::hana::integral_constant&lt; bool, std::is_same&lt; DataType, hana::tag_of&lt; T &gt;::type &gt;::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_90_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstd_1_1array.html" target="_self">std::array&lt; T, N &gt;</a></td><td class="desc">Adaptation of <code><a class="el" href="structstd_1_1array.html" title="Adaptation of std::array for Hana.">std::array</a></code> for Hana </td></tr>
<tr id="row_91_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstd_1_1integer__sequence.html" target="_self">std::integer_sequence&lt; T, v &gt;</a></td><td class="desc">Adaptation of <code><a class="el" href="structstd_1_1integer__sequence.html" title="Adaptation of std::integer_sequence for Hana.">std::integer_sequence</a></code> for Hana </td></tr>
<tr id="row_92_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstd_1_1integral__constant.html" target="_self">std::integral_constant&lt; T, v &gt;</a></td><td class="desc">Adapter for <code><a class="el" href="structstd_1_1integral__constant.html" title="Adapter for std::integral_constants.">std::integral_constant</a></code>s </td></tr>
<tr id="row_93_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstd_1_1pair.html" target="_self">std::pair&lt; First, Second &gt;</a></td><td class="desc">Adaptation of <code><a class="el" href="structstd_1_1pair.html" title="Adaptation of std::pair for Hana.">std::pair</a></code> for Hana </td></tr>
<tr id="row_94_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstd_1_1ratio.html" target="_self">std::ratio&lt; Num, Denom &gt;</a></td><td class="desc">Adaptation of <code><a class="el" href="classstd_1_1ratio.html" title="Adaptation of std::ratio for Hana.">std::ratio</a></code> for Hana </td></tr>
<tr id="row_95_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstd_1_1tuple.html" target="_self">std::tuple&lt; T &gt;</a></td><td class="desc">Adapter for <code><a class="el" href="structstd_1_1tuple.html" title="Adapter for std::tuples.">std::tuple</a></code>s </td></tr>
<tr id="row_96_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structboost_1_1hana_1_1tag__of.html" target="_self">boost::hana::tag_of&lt; T &gt;</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!--
Copyright Louis Dionne 2013-2017
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-->
<!-- boost-no-inspect -->
<!-- HTML footer for doxygen 1.8.9.1-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
  </ul>
</div>
</body>
</html>
